package cli

import (
	"flag"
	"fmt"
	"os"
)

// DemoCommandLineArgs 演示命令行参数解析
func DemoCommandLineArgs() {
	fmt.Println("=== 命令行参数解析演示 ===")
	
	// 定义命令行参数
	name := flag.String("name", "默认用户", "用户名")
	age := flag.Int("age", 18, "年龄")
	verbose := flag.Bool("verbose", false, "详细输出模式")
	
	// 解析命令行参数
	flag.Parse()
	
	// 输出参数值
	fmt.Println("命令行参数:")
	fmt.Printf("  用户名: %s\n", *name)
	fmt.Printf("  年龄: %d\n", *age)
	fmt.Printf("  详细模式: %v\n", *verbose)
	
	// 处理非选项参数
	args := flag.Args()
	if len(args) > 0 {
		fmt.Println("非选项参数:")
		for i, arg := range args {
			fmt.Printf("  参数 %d: %s\n", i+1, arg)
		}
	} else {
		fmt.Println("没有非选项参数")
	}
	
	// 演示命令行参数的使用方式
	fmt.Println("\n使用示例:")
	fmt.Printf("  %s -name=张三 -age=30 -verbose 文件1.txt 文件2.txt\n", os.Args[0])
}